const decodeImage = require('jimp').read;
const qrcodeReader = require('qrcode-reader');
var gm = require("gm");
const path = require('path')
module.exports = {
    read: async function(wei,ali){
        return new Promise(function (reslove,reject){
        // 微信收款码截图
        gm(wei).crop(631, 620, 305, 400).write(wei, function (err) {
            if (err) {
                console.log(err);
            }
        // 支付宝收款码截图
            gm(ali).crop(531, 520, 200, 450).write(ali, function (err) {
                if (err) {
                    console.log(err);
                }
                 // 识别二维码
                 qrDecode(ali,function(data){
                    console.log(data);
                    ali = data
                    qrDecode(wei,function(data2){
                        console.log(data2);
                        console.log(wei);
                        wei = data2
                        reslove( {wei:wei,ali:ali})
                    });
                });
    });
});
        })
    },
    readd: async function(){
        // 微信收款码截图
        // await gm('./public/wei.png').crop(700, 700, 271, 363).write('./public/wt.png', function (err) {
        //     if (err) {
        //         console.log(err);
        //     }
        //     qrDecode('./public/wt.png',function(data){
        //         console.log(data);
        //     });
        // });
        await gm('./public/wei.png').crop(570, 570, 335, 430).write('./public/wt.png', function (err) {
            if (err) {
                console.log(err);
            }
            qrDecode('./public/test3.png',function(data){
                console.log(data);
            });
        });
        // // 支付宝收款码截图
        // await gm(path.join(__dirname,'public','zhi.png')).crop(531, 520, 200, 450).write('./public/at.png', function (err) {
        //     if (err) {
        //         console.log(err);
        //     }
        // });
        // 识别二维码
        // qrDecode('./public/at.png',function(data){
        //     console.log(data);
        // });
        
    }
}
function qrDecode(data,callback){
    decodeImage(data,function(err,image){
        if(err){
            callback(false);
            return;
        }
        let decodeQR = new qrcodeReader();
        decodeQR.callback = function(errorWhenDecodeQR, result) {
            if (errorWhenDecodeQR) {
                callback(errorWhenDecodeQR);
                return;
            }
            if (!result){
                callback(false);
                return;
            }else{
                callback(result.result)
            }
        };
        decodeQR.decode(image.bitmap);
    });
}